#include <iostream>

using namespace std;

string a, b;

void dfs(int l1, int r1, int l2, int r2)
{
    // 递归出口
    if(l1 > r1) return;

    // 先处理左右子树
    // 1. 找根节点
    // 2. 划分左右子树
    int p = l1;
    while(a[p] != b[l2]) p++;

    dfs(l1, p - 1, l2 + 1, l2 + p - l1); // 处理左子树
    dfs(p + 1, r1, l2 + p - l1 + 1, r2); // 处理右子树

    // 输出根节点
    cout << b[l2];
}

int main()
{
    cin >> a >> b;

    dfs(0, a.size() - 1, 0, b.size() - 1);

    return 0;
}